package edu.ec.java02.group02.mapper;

import edu.ec.java02.group02.common.base.mapper.BaseMapper;
import edu.ec.java02.group02.domain.Order;
import edu.ec.java02.group02.util.Page;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface OrderMapper extends BaseMapper<Order> {
    /**
     * 查询全部的订单信息
     * @return
     */
    List<Order> selectAllOrder();

    /**
     * 通过page查询订单信息
     * @param page
     * @return
     */
    List<Order> selectOrderPage(Page page);

    /**
     * 通过Page查询订单信息总数（含查询总数）
     * @param page
     * @return
     */
    Integer selectOrderPageCount(Page page);

    /**
     * 添加订单信息
     * @param order
     * @return
     */
    int insertOrder(Order order);

    /**
     * 修改订单信息-完成时间
     * @param order
     * @return
     */
    int updateOrderFinishTime(Order order);

    /**
     * 修改订单信息-支付时间
     * @param order
     * @return
     */
    int updateOrderPayTime(Order order);

    /**
     * 修改订单信息-取消时间
     * @param order
     * @return
     */
    int updateOrderCancelTime(Order order);

    /**
     * 修改订单状态
     * @param order
     * @return
     */
    int updateOrderStatus(Order order);

    /**
     * 通过ID删除订单信息
     * @param orderId
     * @return
     */
    int deleteOrder(int orderId);
    public Order selectOrderOne(String str);

}